If an error condition occurs, this routine returns an integer
value indicating the type of error. Possible return values are as
follows:
Return Description
0 Successful completion; the lock was acquired.
[EBUSY] The lock is being held for write access. The lock for
read access was not acquired.
[EINVAL] The value specified by lock is not a valid read-write
lock.